finch composeでは、healthcheckは機能しない
finchとは
finchはawsが開発しているdocker alternativeのCLIツールです。
- https://runfinch.com/
- https://aws.amazon.com/jp/blogs/opensource/introducing-finch-an-open-source-client-for-container-development/
finch composeでは、healthcheckは機能しない
finchは内部ではnerdctlを使用しています。nerdctlは一部のdocker-compose.yml
の記法が実装されておらず、その中にはservices.<SERVICE>.healthcheck
も含まれます。
そのため、以下ブログで書いたようなcompose yamlはfinch
では機能せず、grafanaは起動エラーとなってしまいます。
funch compose up
を実行すると以下のように、healthcheck記法が無視されたことがログに出力されます。
WARN[0000] Ignoring: service grafana-config: [Expose HealthCheck]
WARN[0000] Ignoring: service grafana: depends_on: grafana-config: [Required]
WARN[0000] Ignoring: service grafana: depends_on: grafana-config: condition service_healthy
以下のissueが機能リクエストのissueです。今日現在(2024/07/29)まだ実装が開始される気配はないですね。。。
この機能が欲しい方は、ぜひこのissueに👍しましょう!
votingも立派なOSS活動です!
まとめ
上記の問題はcolimaやRancher Desktopを使った場合は発生しません。
docker desktopが諸事情で使えず、かつhealthcheckを用いてサービスの起動を待ちたい場合は、finch以外のalternative docker cli toolを使いましょう。